home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr23 / chansw53.zip / CHAINSAW.HPP < prev    next >
C/C++ Source or Header  |  1993-05-24  |  3KB  |  140 lines

  1. // FILE: CHAINSAW.HPP
  2. // MODULE: ALL
  3. // PROGRAM: CHAINSAW
  4.  
  5. // Public Domain, 5/24/93, Ted Davis
  6.  
  7. #include <conio.h>
  8. #include <ctype.h>
  9. #include <dir.h>
  10. #include <dos.h>
  11. #include <errno.h>
  12. #include <fcntl.h>
  13. #include <fstream.h>
  14. #include <io.h>
  15. #include <process.h>
  16. #include <stdio.h>
  17. #include <string.h>
  18. #include <sys\stat.h>
  19.  
  20. #define VersionNumber " 5.3  "
  21.  
  22. #define PassWord "password"
  23. // Note that the above password is case sensitive; use lower case; do not
  24. // use the quote marks.
  25. #define DefaultSwitchString "/BGNPRsw"
  26.  
  27. #define ANY_FILE FA_RDONLY | FA_HIDDEN | FA_SYSTEM | FA_DIREC | FA_ARCH
  28. #define make_writable chmod(FileOrDirName, S_IWRITE)
  29. #define NoPrint 0
  30. #define STDERR 1
  31. #define STDOUT 2
  32. #define KeyOffset 2139
  33. #define password_len 16
  34. #define switches_len 32
  35. #define PwordOffset -48
  36. #define ID_Offset -64
  37. #define Marker_len 16
  38. #define MarkerText "CHAINSAWTedDavis"
  39.  
  40. #define no 0
  41. #define yes 1
  42.  
  43. extern int cbreak;
  44. extern int DirList;
  45. extern int ErrorLevel;
  46. extern int FileList;
  47. extern int IsRoot;
  48. extern int KillBaseFilesOK;
  49. extern int NetworkDriveOK;
  50. extern int PasswordCheck;
  51. extern int PrintEnable;
  52. extern int ProtectedOK;
  53. extern int RemoveStartDir;
  54. extern int RootOK;
  55. extern int SummaryFlag;
  56.  
  57. extern char Bad_DriveOrDir[];
  58. extern char Bad_NewPassword[];
  59. extern char Bad_Password[];
  60. extern char Barf_Message[];
  61. extern char Copyright_Message[];
  62. extern char DummyMessage[];
  63. extern char GoodNewPasswordMsg[];
  64. extern char Help_Message[];
  65. extern char InitialDirectory[];
  66. extern char Memory_Error[];
  67. extern char NewSwitchesMessage[];
  68. extern char NullMessage[];
  69. extern char OldSwitchesMessage[];
  70. extern char Root_NotAllowed[];
  71. extern char Wrong_Version[];
  72.  
  73.  
  74. typedef struct
  75. {
  76.     int        Type;
  77.     char    *Message;
  78. }Message_;
  79.  
  80. extern Message_    BadDriveOrDir;
  81. extern Message_    BadNewPassword;
  82. extern Message_    BadNewSwitches;
  83. extern Message_    BadPassword;
  84. extern Message_    BarfMessage;
  85. extern Message_    CopyrightMessage;
  86. extern Message_    DirFailed;
  87. extern Message_    DirOK;
  88. extern Message_    FileFailed;
  89. extern Message_    FileOK;
  90. extern Message_ GoodNewPassword;
  91. extern Message_    HelpMessage;
  92. extern Message_    MemoryError;
  93. extern Message_ NewSwitches;
  94. extern Message_ OldSwitches;
  95. extern Message_    RootNotAllowed;
  96. extern Message_    Summary;
  97. extern Message_    WrongVersion;
  98.  
  99. struct SumData
  100. {
  101.     int     Files;
  102.     int        Dirs;
  103. };
  104.  
  105. extern SumData SummaryData;
  106.  
  107.  
  108. class dirkiller
  109. {
  110.     private:
  111.         int         attributes;
  112.         int         TargetDrive;
  113.         char         CurrentDir[80];
  114.         char         FileOrDirName[80];
  115.         char         WorkingPath[80];
  116.         ffblk         DataBlock;
  117.         dirkiller     *NextLevel;
  118.  
  119.     public:
  120.         dirkiller(char StartingPath[], int KillFilesFlag, int KillDirFlag);
  121.  
  122. };
  123.  
  124. extern void Output(Message_ M);
  125. extern void Barf(void);
  126. extern int ChangePassword(char * new_password, char *argv0, char * Switches);
  127. extern int  CtrlBreakRoutine(void);
  128. extern char *Emessage(void);
  129. extern void Encrypt(char *key, char *string, int length);
  130. extern void InsertVersion(char *Vlocation);
  131. extern int  NetworkDriveQuery(int DriveLetter);
  132. extern void PrintFileOkMessage(char *FileName);
  133. extern void PrintFileFailedMessage(char *FileName);
  134. extern void PrintFileProtected(char *Fileame);
  135. extern void PrintDirOkMessage(char *DirName);
  136. extern void PrintDirFailedMessage(char *DirName);
  137. extern void PrintSummary(SumData SummaryData);
  138. extern int UserPassword(char * password, char * argv0, char * Switches,\
  139.  char * Pword);
  140.